GdkRectangle *slider_rect);
static gboolean gtk_range_scroll (GtkRange *range,
GtkScrollType scroll);
-static void gtk_range_calc_slider (GtkRange *range);
static void gtk_range_calc_marks (GtkRange *range);
static void gtk_range_adjustment_value_changed (GtkAdjustment *adjustment,
gpointer data);
static void
gtk_range_adjustment_changed (GtkAdjustment *adjustment,
- gpointer data)
+ gpointer data)
{
GtkRange *range = GTK_RANGE (data);
+ GtkRangePrivate *priv = gtk_range_get_instance_private (range);
+
+ if (gtk_adjustment_get_upper (priv->adjustment) == gtk_adjustment_get_lower (priv->adjustment) &&
+ GTK_IS_SCALE (range))
+ gtk_widget_hide (priv->slider_widget);
+ else
+ gtk_widget_show (priv->slider_widget);
- gtk_range_calc_slider (range);
+ gtk_widget_queue_allocate (priv->trough_widget);
/* Note that we don't round off to priv->round_digits here.
* that's because it's really broken to change a value
}
}
-static void
-gtk_range_calc_slider (GtkRange *range)
-{
- GtkRangePrivate *priv = gtk_range_get_instance_private (range);
- gboolean visible;
-
- if (GTK_IS_SCALE (range) &&
- gtk_adjustment_get_upper (priv->adjustment) == gtk_adjustment_get_lower (priv->adjustment))
- visible = FALSE;
- else
- visible = TRUE;
-
- gtk_widget_set_visible (priv->slider_widget, visible);
-
- gtk_widget_queue_allocate (priv->trough_widget);
-}
-
static void
gtk_range_calc_marks (GtkRange *range)
{